package com.yanqu.road.entity.curio.config;


import com.yanqu.road.entity.FieldTypeAnnotation;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@FieldTypeAnnotation(tableName = "t_p_curio", desc = "藏品")
public class CurioItemInfo {

    @FieldTypeAnnotation(desc = "ID", select = true, orderASC = true)
    private int id;

    @FieldTypeAnnotation(desc = "藏宝品质(1普通2优秀3卓越4传奇5无双")
    private int quality;

    @FieldTypeAnnotation(desc = "基础效果")
    private int baseSkill;

    @FieldTypeAnnotation(desc = "升级加基础效果固定值（1星|2星|3星）")
    private List<Integer> baseSkillFixedAdd;

    @FieldTypeAnnotation(desc = "特殊效果前置条件")
    private String specialSkillCond;

    //类型
    private int type;
    //条件
    private List<Integer> paramList = new ArrayList<>();

    @FieldTypeAnnotation(desc = "特殊效果")
    private int specialSkill;

    @FieldTypeAnnotation(desc = "特殊效果前置条件生效次数限制")
    private String specialSkillCondMax;

    @FieldTypeAnnotation(desc = "是否放进碎片抽奖池（1是0否")
    private int isFragmentLottery;

    @FieldTypeAnnotation(desc = "是否放进整卡抽奖池（1是0否")
    private int isWholeCardLottery;

    @FieldTypeAnnotation(desc = "藏品碎片溢出转换-山河赠礼进度")
    private int overflowChange;

    @FieldTypeAnnotation(desc = "特权效果")
    private String privilege;

    @FieldTypeAnnotation(desc = "（藏品星级）升星消耗类型")
    private int starUpgradeType;

    private Map<Integer, List<CurioPrivilegeDay>> privilegeDayMap = new HashMap<>();

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getQuality() {
        return quality;
    }

    public void setQuality(int quality) {
        this.quality = quality;
    }

    public int getBaseSkill() {
        return baseSkill;
    }

    public void setBaseSkill(int baseSkill) {
        this.baseSkill = baseSkill;
    }

    public List<Integer> getBaseSkillFixedAdd() {
        return baseSkillFixedAdd;
    }

    public void setBaseSkillFixedAdd(List<Integer> baseSkillFixedAdd) {
        this.baseSkillFixedAdd = baseSkillFixedAdd;
    }

    public String getSpecialSkillCond() {
        return specialSkillCond;
    }

    public void setSpecialSkillCond(String specialSkillCond) {
        this.specialSkillCond = specialSkillCond;
    }

    public int getSpecialSkill() {
        return specialSkill;
    }

    public void setSpecialSkill(int specialSkill) {
        this.specialSkill = specialSkill;
    }

    public String getSpecialSkillCondMax() {
        return specialSkillCondMax;
    }

    public void setSpecialSkillCondMax(String specialSkillCondMax) {
        this.specialSkillCondMax = specialSkillCondMax;
    }

    public int getIsFragmentLottery() {
        return isFragmentLottery;
    }

    public void setIsFragmentLottery(int isFragmentLottery) {
        this.isFragmentLottery = isFragmentLottery;
    }

    public int getIsWholeCardLottery() {
        return isWholeCardLottery;
    }

    public void setIsWholeCardLottery(int isWholeCardLottery) {
        this.isWholeCardLottery = isWholeCardLottery;
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public List<Integer> getParamList() {
        return paramList;
    }

    public void setParamList(List<Integer> paramList) {
        this.paramList = paramList;
    }

    public int getOverflowChange() {
        return overflowChange;
    }

    public void setOverflowChange(int overflowChange) {
        this.overflowChange = overflowChange;
    }

    public String getPrivilege() {
        return privilege;
    }

    public void setPrivilege(String privilege) {
        this.privilege = privilege;
    }

    public int getStarUpgradeType() {
        return starUpgradeType;
    }

    public void setStarUpgradeType(int starUpgradeType) {
        this.starUpgradeType = starUpgradeType;
    }

    public Map<Integer, List<CurioPrivilegeDay>> getPrivilegeDayMap() {
        return privilegeDayMap;
    }

    public void setPrivilegeDayMap(Map<Integer, List<CurioPrivilegeDay>> privilegeDayMap) {
        this.privilegeDayMap = privilegeDayMap;
    }
}
